// 测试进度条文件 

#include "progressbar.h"

//假设下载总量为 1024 MB = 1G
//double total = 1024.0;
//当前下载速度 , 1 次下载 1MB
//double speed = 1.0; 

//void Download()
//{
//	//当前下载量 
//	double cur = 0.0;
//	//当前下载量 <= 总量继续下 
//	while(cur <= total)
//	{
//		//下载过程中给我显示一个进度 , 这里就要用到进度条了 
//		
//		progressbar(total , cur);
//		
//		//下载内容 , 这里用休眠充当 	
//		usleep(1000); // 假设正在网络下载	
//		
//		// 当前下载量 = 下载量 + 下载速度
//		cur += speed;
//	}
//		
//		//显示当前下载信息
//		printf("Download %.2lfMB Done\n",cur);
//
//}
//

double total = 1024.0;
double speed = 1.0;


//函数指针类型 , progressbar 函数类型
typedef void (*call_back)(double total , double current) ;

void DownLoad(call_back cb)
{
    double current = 0;
    while(current <= total)
    {
	//回调函数 , progressbar
        cb(total, current);
        // 下载代码
        usleep(3000); // 充当下载数据
        current += speed;
    }
    printf("\ndownload %.2lfMB Done\n", current);
}

int main()
{	
	//基本版本
	//progress_bar1();

	//正式版本 , 假如这里需要下载任务
	DownLoad(progressbar);
	return 0;
}
